﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Data.SqlClient;

/// <summary>
/// Summary description for Empresas
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService]
public class Empresas : System.Web.Services.WebService {

    public Empresas () {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

    [WebMethod]
    public string HelloWorld() {
        return "Hello World";
    }
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Sucursales")]
    public void DatoSucursales(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdSucursal", SqlDbType.Int, 4, "IdSucursal");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdUpdate.Parameters.Add("@Direccion", SqlDbType.VarChar, 125, "Direccion");
        cmdUpdate.Parameters.Add("@Telefono", SqlDbType.VarChar, 15, "Telefono");
        cmdUpdate.Parameters.Add("@Fax", SqlDbType.Char, 15, "Fax");
        cmdUpdate.Parameters.Add("@Contacto", SqlDbType.VarChar, 80, "Contacto");
        cmdUpdate.Parameters.Add("@Email", SqlDbType.VarChar, 30, "EMail");
        cmdUpdate.Parameters.Add("@IdEmpresa", SqlDbType.Int, 4, "IdEmpresa");

        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "updateSucursales";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdSucursal", SqlDbType.Int, 4, "IdSucursal");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdInsert.Parameters.Add("@Direccion", SqlDbType.VarChar, 125, "Direccion");
        cmdInsert.Parameters.Add("@Telefono", SqlDbType.VarChar, 15, "Telefono");
        cmdInsert.Parameters.Add("@Fax", SqlDbType.Char, 15, "Fax");
        cmdInsert.Parameters.Add("@Contacto", SqlDbType.VarChar, 80, "Contacto");
        cmdInsert.Parameters.Add("@Email", SqlDbType.VarChar, 30, "EMail");
        cmdInsert.Parameters.Add("@IdEmpresa", SqlDbType.Int, 4, "IdEmpresa");


        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "insertSucursales";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdSucursal", SqlDbType.Int, 4, "IdSucursal");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "deleteSucursales";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Sucursales"]);
        }
    }
    //------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Empresas")]
    public void DatoEmpresas(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();



        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdEmpresa", SqlDbType.Int, 4, "IdEmpresa");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdUpdate.Parameters.Add("@NombreComercial", SqlDbType.VarChar, 80, "NombreComercial");
        cmdUpdate.Parameters.Add("@NoRegistro", SqlDbType.Char, 25, "NoRegistro");
        cmdUpdate.Parameters.Add("@CodigoTributario", SqlDbType.VarChar, 25, "CodigoTributario");
        cmdUpdate.Parameters.Add("@Giro", SqlDbType.VarChar, 125, "Giro");
        cmdUpdate.Parameters.Add("@Direccion", SqlDbType.VarChar, 125, "Direccion");
        cmdUpdate.Parameters.Add("@Telefono", SqlDbType.VarChar, 15, "Telefono");
        cmdUpdate.Parameters.Add("@Fax", SqlDbType.Char, 15, "Fax");
        cmdUpdate.Parameters.Add("@Contacto", SqlDbType.VarChar, 80, "Contacto");
        cmdUpdate.Parameters.Add("@www", SqlDbType.VarChar, 80, "WWW");
        cmdUpdate.Parameters.Add("@Email", SqlDbType.VarChar, 30, "EMail");
        cmdUpdate.Parameters.Add("@Descripcion", SqlDbType.VarChar, 100, "Descripcion");
        cmdUpdate.Parameters.Add("@IdIndustria", SqlDbType.Int, 4, "IdIndustria");
        cmdUpdate.Parameters.Add("@IdPais", SqlDbType.Int, 4, "IdPais");
        cmdUpdate.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");

        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "UPDATEEMPRESA";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdEmpresa", SqlDbType.Int, 4, "IdEmpresa");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdInsert.Parameters.Add("@NombreComercial", SqlDbType.VarChar, 80, "NombreComercial");
        cmdInsert.Parameters.Add("@NoRegistro", SqlDbType.Char, 25, "NoRegistro");
        cmdInsert.Parameters.Add("@CodigoTributario", SqlDbType.VarChar, 25, "CodigoTributario");
        cmdInsert.Parameters.Add("@Giro", SqlDbType.VarChar, 125, "Giro");
        cmdInsert.Parameters.Add("@Direccion", SqlDbType.VarChar, 125, "Direccion");
        cmdInsert.Parameters.Add("@Telefono", SqlDbType.VarChar, 15, "Telefono");
        cmdInsert.Parameters.Add("@Fax", SqlDbType.Char, 15, "Fax");
        cmdInsert.Parameters.Add("@Contacto", SqlDbType.VarChar, 80, "Contacto");
        cmdInsert.Parameters.Add("@www", SqlDbType.VarChar, 80, "WWW");
        cmdInsert.Parameters.Add("@Email", SqlDbType.VarChar, 30, "EMail");
        cmdInsert.Parameters.Add("@Descripcion", SqlDbType.VarChar, 100, "Descripcion");
        cmdInsert.Parameters.Add("@IdIndustria", SqlDbType.Int, 4, "IdIndustria");
        cmdInsert.Parameters.Add("@IdPais", SqlDbType.Int, 4, "IdPais");
        cmdInsert.Parameters.Add("@IdOutsourcing", SqlDbType.Int, 4, "IdOutsourcing");


        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "INSERTEMPRESA";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdEmpresa", SqlDbType.Int, 4, "IdEmpresa");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "DELETEEMPRESA";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Empresas"]);
        }
    }
    //------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Ofertas")]
    public void DatoOfertas(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();


        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdOferta", SqlDbType.Int, 4, "IdOferta");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdUpdate.Parameters.Add("@Descripcion", SqlDbType.VarChar, 125, "Descripcion");
        cmdUpdate.Parameters.Add("@InicioOferta", SqlDbType.VarChar, 15, "InicioOferta");
        cmdUpdate.Parameters.Add("@FinOferta", SqlDbType.Char, 15, "FinOferta");
        cmdUpdate.Parameters.Add("@Salario", SqlDbType.VarChar, 80, "Salario");
        cmdUpdate.Parameters.Add("@IdArea", SqlDbType.Int, 4, "IdArea");
        cmdUpdate.Parameters.Add("@IdSucursal", SqlDbType.Int, 4, "IdSucursal");
        cmdUpdate.Parameters.Add("@IdCiudad", SqlDbType.Int, 4, "IdCiudad");

        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "UpdateOferta";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdOferta", SqlDbType.Int, 4, "IdOferta");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdInsert.Parameters.Add("@Descripcion", SqlDbType.VarChar, 125, "Descripcion");
        cmdInsert.Parameters.Add("@InicioOferta", SqlDbType.VarChar, 15, "InicioOferta");
        cmdInsert.Parameters.Add("@FinOferta", SqlDbType.Char, 15, "FinOferta");
        cmdInsert.Parameters.Add("@Salario", SqlDbType.VarChar, 80, "Salario");
        cmdInsert.Parameters.Add("@IdArea", SqlDbType.Int, 4, "IdArea");
        cmdInsert.Parameters.Add("@IdSucursal", SqlDbType.Int, 4, "IdSucursal");
        cmdInsert.Parameters.Add("@IdCiudad", SqlDbType.Int, 4, "IdCiudad");


        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "insertOferta";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdOferta", SqlDbType.Int, 4, "IdOferta");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "DeleteOferta";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Ofertas"]);
        }
    }
    //------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Funciones")]
    public void DatoFunciones(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();

        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdFunciones", SqlDbType.Int, 4, "IdFunciones");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdUpdate.Parameters.Add("@Descripcion", SqlDbType.VarChar, 125, "Descripcion");
        cmdUpdate.Parameters.Add("@IdOferta", SqlDbType.Int, 4, "IdOferta");

        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "Updatefunciones";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdFunciones", SqlDbType.Int, 4, "IdFunciones");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdInsert.Parameters.Add("@Descripcion", SqlDbType.VarChar, 125, "Descripcion");
        cmdInsert.Parameters.Add("@IdOferta", SqlDbType.Int, 4, "IdOferta");


        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "insertfunciones";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdFunciones", SqlDbType.Int, 4, "IdFunciones");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "Deletefunciones";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Funciones"]);
        }
    }
    //------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Actualizar,Borrar e Insertar en la Tabla Requisitos")]
    public void DatoRequisitos(DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand cmdUpdate = new SqlCommand();
        SqlCommand cmdInsert = new SqlCommand();
        SqlCommand cmdDelete = new SqlCommand();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();

        //Seccion para actualizacion
        cmdUpdate.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdUpdate.Parameters.Add("@IdRequisitos", SqlDbType.Int, 4, "IdRequisitos");
        cmdUpdate.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdUpdate.Parameters.Add("@Descripcion", SqlDbType.VarChar, 125, "Descripcion");
        cmdUpdate.Parameters.Add("@IdOferta", SqlDbType.Int, 4, "IdOferta");

        cmdUpdate.CommandType = CommandType.StoredProcedure;
        cmdUpdate.CommandText = "UpdateRequisitos";

        da.UpdateCommand = cmdUpdate;

        //Seccion para agregar 
        cmdInsert.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdInsert.Parameters.Add("@IdRequisitos", SqlDbType.Int, 4, "IdRequisitos");
        cmdInsert.Parameters.Add("@Nombre", SqlDbType.VarChar, 30, "Nombre");
        cmdInsert.Parameters.Add("@Descripcion", SqlDbType.VarChar, 125, "Descripcion");
        cmdInsert.Parameters.Add("@IdOferta", SqlDbType.Int, 4, "IdOferta");


        cmdInsert.CommandType = CommandType.StoredProcedure;
        cmdInsert.CommandText = "insertRequisitos";

        da.InsertCommand = cmdInsert;

        //Seccion para eliminar 
        cmdDelete.Connection = cn;
        //Se agregan todos los campos del DS como parametros del comando
        cmdDelete.Parameters.Add("@IdRequisitos", SqlDbType.Int, 4, "IdRequisitos");
        cmdDelete.CommandType = CommandType.StoredProcedure;
        cmdDelete.CommandText = "DeleteRequisitos";

        da.DeleteCommand = cmdDelete;

        if (ds.HasChanges())
        {
            da.Update(ds.Tables["Requisitos"]);
        }
    }
    //------------------------------------------------------------------------------------------------
    [WebMethod(Description = "Metodo que se utiliza para Consultar las Empresas")]
    public DataSet ConsultaEmpresa()
    {
        DataSet ds = new DataSet();
        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
        cn.Open();
        SqlDataAdapter da = new SqlDataAdapter();

        SqlCommand cmd = new SqlCommand();
        cmd.Connection = cn;
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "selectempresas";
        da.SelectCommand = cmd;

        //Construir un datatable en el dataset
        ds.Tables.Add("Empresas");
        //Agregar columnas al data table
        ds.Tables["Empresas"].Columns.Add("IdEmpresa", typeof(int));
        ds.Tables["Empresas"].Columns.Add("Nombre", typeof(string));
        ds.Tables["Empresas"].Columns.Add("NombreComercial", typeof(string));
        ds.Tables["Empresas"].Columns.Add("NoRegistro", typeof(string));
        ds.Tables["Empresas"].Columns.Add("CodigoTributario", typeof(string));
        ds.Tables["Empresas"].Columns.Add("Giro", typeof(string));
        ds.Tables["Empresas"].Columns.Add("Direccion", typeof(string));
        ds.Tables["Empresas"].Columns.Add("Telefono", typeof(string));
        ds.Tables["Empresas"].Columns.Add("Fax", typeof(string));
        ds.Tables["Empresas"].Columns.Add("Contacto", typeof(string));
        ds.Tables["Empresas"].Columns.Add("WWW", typeof(string));
        ds.Tables["Empresas"].Columns.Add("EMail", typeof(string));
        ds.Tables["Empresas"].Columns.Add("Descripcion", typeof(string));
        ds.Tables["Empresas"].Columns.Add("IdIndustria", typeof(int));
        ds.Tables["Empresas"].Columns.Add("IdPais", typeof(int));
        ds.Tables["Empresas"].Columns.Add("IdOutsourcing", typeof(int));

        //Llenar el datatable
        da.Fill(ds.Tables["Empresas"]);
        //--------------------------------------------------------------------------
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SelectSucursales";
        da.SelectCommand = cmd;

        //Construir un datatable en el dataset
        ds.Tables.Add("Sucursales");
        //Agregar columnas al data table
        ds.Tables["Sucursales"].Columns.Add("IdSucursal", typeof(int));
        ds.Tables["Sucursales"].Columns.Add("Nombre", typeof(string));
        ds.Tables["Sucursales"].Columns.Add("Direccion", typeof(string));
        ds.Tables["Sucursales"].Columns.Add("Telefono", typeof(string));
        ds.Tables["Sucursales"].Columns.Add("Fax", typeof(string));
        ds.Tables["Sucursales"].Columns.Add("Contacto", typeof(string));
        ds.Tables["Sucursales"].Columns.Add("EMail", typeof(string));
        ds.Tables["Sucursales"].Columns.Add("IdEmpresa", typeof(int));

        //Llenar el datatable
        da.Fill(ds.Tables["Sucursales"]);
        //--------------------------------------------------------------------------
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SelectOfertas";
        da.SelectCommand = cmd;

        //Construir un datatable en el dataset
        ds.Tables.Add("Ofertas");
        //Agregar columnas al data table
        ds.Tables["Ofertas"].Columns.Add("IdOferta", typeof(int));
        ds.Tables["Ofertas"].Columns.Add("Nombre", typeof(string));
        ds.Tables["Ofertas"].Columns.Add("Descripcion", typeof(string));
        ds.Tables["Ofertas"].Columns.Add("InicioOferta", typeof(string));
        ds.Tables["Ofertas"].Columns.Add("FinOferta", typeof(string));
        ds.Tables["Ofertas"].Columns.Add("Salario", typeof(string));
        ds.Tables["Ofertas"].Columns.Add("IdArea", typeof(int));
        ds.Tables["Ofertas"].Columns.Add("IdSucursal", typeof(int));
        ds.Tables["Ofertas"].Columns.Add("IdCiudad", typeof(int));

        //Llenar el datatable
        da.Fill(ds.Tables["Ofertas"]);
        //-------------------------------------------------
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SelectFunciones";
        da.SelectCommand = cmd;

        //Construir un datatable en el dataset
        ds.Tables.Add("Funciones");
        //Agregar columnas al data table
        ds.Tables["Funciones"].Columns.Add("IdFunciones", typeof(int));
        ds.Tables["Funciones"].Columns.Add("Nombre", typeof(string));
        ds.Tables["Funciones"].Columns.Add("Descripcion", typeof(string));
        ds.Tables["Funciones"].Columns.Add("IdOferta", typeof(int));

        //Llenar el datatable
        da.Fill(ds.Tables["Funciones"]);
        //-------------------------------------------------
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "selectRequisitos";
        da.SelectCommand = cmd;

        //Construir un datatable en el dataset
        ds.Tables.Add("Requisitos");
        //Agregar columnas al data table
        ds.Tables["Requisitos"].Columns.Add("IdRequisitos", typeof(int));
        ds.Tables["Requisitos"].Columns.Add("Nombre", typeof(string));
        ds.Tables["Requisitos"].Columns.Add("Descripcion", typeof(string));
        ds.Tables["Requisitos"].Columns.Add("IdOferta", typeof(int));

        //Llenar el datatable
        da.Fill(ds.Tables["Requisitos"]);
        //-------------------------------------------------
        return ds;
    }
    
}
